home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 301-325 / disk_311 / udate / dst2.c < prev    next >
C/C++ Source or Header  |  1992-05-06  |  2KB  |  67 lines

  1. /*-------------------------------------------------------------------------*/
  2. /*      Program:  dst2                                                     */
  3. /*   Programmer:  George Kerber                                            */
  4. /*      Written:  12/22/89                                                 */
  5. /*     Compiler:  Lattice 5.04                                             */
  6. /*-------------------------------------------------------------------------*/
  7.  
  8. #include <stdio.h>
  9. #include <dos.h>
  10. #define WRITTEN "01/04/90"
  11. #define VERSION "v2.0"
  12.  
  13.  
  14. void helpscreen();
  15.  
  16. main(int argc, char *argv[])
  17.  
  18. {
  19. int i , startyear = 1980 , sday = 6 , eday , leapyear = 0;
  20. unsigned char clock[8];
  21.  
  22. if(argc > 1) helpscreen();
  23.  
  24. /* Get battery clock and calculate Daylight Savings Time start date       */
  25.  
  26. getclk(clock); 
  27.  
  28.  
  29. for( i = clock[1] ; i > 0 ; i--) {
  30.      leapyear = 0;
  31.      startyear++ ;
  32.      if((startyear % 4) == 0) leapyear = 1 ;
  33.      sday-- ;
  34.      if(!sday) sday = 7;
  35.      sday -= leapyear;
  36.      if(!sday && leapyear) sday = 7; 
  37.      }                                              /*  Ending for brace */
  38.  
  39. /* Calculate Daylight Savings Time end date using start date              */
  40.  
  41. if((sday + 20) < 25)  eday = sday + 27; else eday = sday + 20;
  42.  
  43. /* Determine if it's daylight savings time NOW                            */
  44.  
  45. if((clock[2] > 4 && clock[2] < 10) ||
  46.     (clock[2] == 4 && clock[3] >= sday && clock[4] >= 2) ||
  47.     (clock[2] == 10 && clock[3] <= eday && clock[4] < 2) ||
  48.     (clock[2] == 4 && clock[3] > sday) ||
  49.     (clock[2] == 10 && clock[3] < eday)) {
  50.     clock[4]++;
  51.     chgclk(clock);
  52.     }
  53. }
  54.  
  55. /*-------------------------------------------------------------------------*/
  56.  
  57. /*  HELPSCREEN FUNCTION  */
  58.  
  59. void helpscreen()
  60. {
  61. printf("\n\n  DST2      George Kerber     %s     %s\n\n",VERSION,WRITTEN);
  62. printf("  Add to startup-sequence for automatic Daylight Savings Time Adjustment.\n\n");
  63. printf("  Always keep your BATTERY CLOCK set to STANDARD time in your area.\n\n");
  64. exit(0);
  65. }
  66. /*-------------------------------------------------------------------------*/
  67.